<html>
<style>
  table, th, td {
     border: 1px solid rgb(200,200,200);
     border-collapse: collapse;
     }
  table {
     table-layout: fixed;
     width: 1900px;
     }
  td {
     overflow-x: auto;
     }
  th, td {
    padding: 15px;
    text-align: left;
    vertical-align: middle;
    }
  .comments {
    color: #292;
    }
  .source-code {
    color: #22F;
    }
  .interface-parent {
    color: #AAA;
    }
  .interface-name {
    color: #000;
    }
  .check-mark {
    text-align: center;
    }
</style>
<body>
<br>

<h1>DJI Mobile SDK 4.5.1 to 4.6 Differences</h1>

<br>

<h2>API changes</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">4.5.1 Parent and Name</font></td><td width=15%><font color="#000">4.5.1 Code</font></td><td width=15%><font color="#000">4.6 Parent and Name</font></td><td width=15%><font color="#000">4.6 Code</font></td><td width=3%><font color="#000">Parent</font></td><td width=3%><font color="#000">Name</font></td><td width=3%><font color="#000">Type</font></td><td width=3%><font color="#000">Param</font></td><td width=3%><font color="#000">Return</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.products.Aircraft.</span><span class="interface-name">getCameras</span></td><td width=15%><span class="source-code">synchronized List&lt;Camera&gt; getCameras() </span></td><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">getCameras</span></td><td width=15%><span class="source-code">synchronized List&lt;Camera&gt; getCameras() </span></td><td width=3%><div class="check-mark">X</div></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">ShootPhotoAction</span></td><td width=15%><span class="source-code">ShootPhotoAction(int count, int interval) </span></td><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">newShootIntervalPhotoAction</span></td><td width=15%><span class="source-code">static ShootPhotoAction newShootIntervalPhotoAction(int count, int interval) </span></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">RecordVideoAction</span></td><td width=15%><span class="source-code">RecordVideoAction(int duration) </span></td><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">newRecordVideoActionWithDuration</span></td><td width=15%><span class="source-code">static RecordVideoAction newRecordVideoActionWithDuration(int duration) </span></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">ShootPhotoAction</span></td><td width=15%><span class="source-code">ShootPhotoAction() </span></td><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">newShootSinglePhotoAction</span></td><td width=15%><span class="source-code">static ShootPhotoAction newShootSinglePhotoAction() </span></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr></table><br>

<h2>APIs removed from 4.5.1</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">Parent and Name</font></td><td width=15%><font color="#000">Code</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">onComponentChange</span></td><td width=15%><span class="source-code">        void onComponentChange(ComponentKey key, BaseComponent oldComponent, BaseComponent newComponent)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">onConnectivityChange</span></td><td width=15%><span class="source-code">        void onConnectivityChange(boolean isConnected)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">BaseProductListener</span></td><td width=15%><span class="source-code">interface BaseProductListener </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">setBaseProductListener</span></td><td width=15%><span class="source-code">void setBaseProductListener(BaseProductListener listener) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">RecordVideoAction</span></td><td width=15%><span class="source-code">RecordVideoAction(boolean isStartOrStop) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.sdkmanager.DJISDKManager.</span><span class="interface-name">onProductChange</span></td><td width=15%><span class="source-code">        void onProductChange(BaseProduct oldProduct, BaseProduct newProduct)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.sdkmanager.DJISDKManager.</span><span class="interface-name">setDisableCountryCodeCheck</span></td><td width=15%><span class="source-code">void setDisableCountryCodeCheck() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.keysdk.</span><span class="interface-name">PayloadKey</span></td><td width=15%><span class="source-code">class PayloadKey extends DJIKey </span></td></tr></table><br>

<h2>APIs added to 4.6</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">Parent and Name</font></td><td width=15%><font color="#000">Code</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.activetrack.ActiveTrackOperator.</span><span class="interface-name">getCurrentState</span></td><td width=15%><span class="source-code">ActiveTrackState getCurrentState() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">CountryCodeCallback</span></td><td width=15%><span class="source-code">interface CountryCodeCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">onRequireUpdateCountryCode</span></td><td width=15%><span class="source-code">        void onRequireUpdateCountryCode()</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">getAutoUpdateCountryCodeEnabled</span></td><td width=15%><span class="source-code">static boolean getAutoUpdateCountryCodeEnabled() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">isUpdateCountryCodeRequired</span></td><td width=15%><span class="source-code">boolean isUpdateCountryCodeRequired() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">setAutoUpdateCountryCodeEnabled</span></td><td width=15%><span class="source-code">static void setAutoUpdateCountryCodeEnabled(boolean enabled) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">setCountryCodeCallback</span></td><td width=15%><span class="source-code">void setCountryCodeCallback(CountryCodeCallback countryCodeCallback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.AirLink.</span><span class="interface-name">updateCountryCode</span></td><td width=15%><span class="source-code">void updateCountryCode(@Nullable CommonCallbacks.CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.AircraftYawAction.</span><span class="interface-name">AircraftYawAction</span></td><td width=15%><span class="source-code">AircraftYawAction(float angle, boolean isAbsolute) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.product.Model.</span><span class="interface-name">PHANTOM_4_PRO_V2</span></td><td width=15%><span class="source-code">    PHANTOM_4_PRO_V2("Phantom 4 Pro V2.0")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.base.BaseProduct.</span><span class="interface-name">getCameraWithComponentIndex</span></td><td width=15%><span class="source-code">Camera getCameraWithComponentIndex(int index) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.</span><span class="interface-name">DisplayMode</span></td><td width=15%><span class="source-code">enum DisplayMode </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.DisplayMode.</span><span class="interface-name">MSX</span></td><td width=15%><span class="source-code">        MSX(3)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.DisplayMode.</span><span class="interface-name">PIP</span></td><td width=15%><span class="source-code">        PIP(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.DisplayMode.</span><span class="interface-name">THERMAL_ONLY</span></td><td width=15%><span class="source-code">        THERMAL_ONLY(1)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.DisplayMode.</span><span class="interface-name">OTHER</span></td><td width=15%><span class="source-code">        OTHER(255)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.DisplayMode.</span><span class="interface-name">VISUAL_ONLY</span></td><td width=15%><span class="source-code">        VISUAL_ONLY(0)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">DisplaynamePhantom4PV2Camera</span></td><td width=15%><span class="source-code">static final String DisplaynamePhantom4PV2Camera = DJICameraAbstraction.DisplaynamePhantom4PSDRCamera</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">DisplayNameXT2_IR</span></td><td width=15%><span class="source-code">static final String DisplayNameXT2_IR = DJICameraAbstraction.DisplayNameXT2_IR</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">DisplayNameXT2_VL</span></td><td width=15%><span class="source-code">static final String DisplayNameXT2_VL = DJICameraAbstraction.DisplayNameXT2_VL</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.</span><span class="interface-name">PIPPosition</span></td><td width=15%><span class="source-code">enum PIPPosition </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">ALIGN</span></td><td width=15%><span class="source-code">        ALIGN(10)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_BOTTOM_CENTER</span></td><td width=15%><span class="source-code">        IR_BOTTOM_CENTER(4)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_BOTTOM_LEFT</span></td><td width=15%><span class="source-code">        IR_BOTTOM_LEFT(6)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_BOTTOM_RIGHT</span></td><td width=15%><span class="source-code">        IR_BOTTOM_RIGHT(1)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_CENTER</span></td><td width=15%><span class="source-code">        IR_CENTER(0)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_CENTER_LEFT</span></td><td width=15%><span class="source-code">        IR_CENTER_LEFT(7)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_CENTER_RIGHT</span></td><td width=15%><span class="source-code">        IR_CENTER_RIGHT(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">SIDE_BY_SIDE</span></td><td width=15%><span class="source-code">        SIDE_BY_SIDE(9)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_TOP_CENTER</span></td><td width=15%><span class="source-code">        IR_TOP_CENTER(5)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_TOP_LEFT</span></td><td width=15%><span class="source-code">        IR_TOP_LEFT(8)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">IR_TOP_RIGHT</span></td><td width=15%><span class="source-code">        IR_TOP_RIGHT(3)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.PIPPosition.</span><span class="interface-name">OTHER</span></td><td width=15%><span class="source-code">        OTHER(255)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.</span><span class="interface-name">TemperatureUnit</span></td><td width=15%><span class="source-code">enum TemperatureUnit </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.TemperatureUnit.</span><span class="interface-name">CELSIUS</span></td><td width=15%><span class="source-code">        CELSIUS(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.TemperatureUnit.</span><span class="interface-name">FAHRENHEIT</span></td><td width=15%><span class="source-code">        FAHRENHEIT(1)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.TemperatureUnit.</span><span class="interface-name">OTHER</span></td><td width=15%><span class="source-code">        OTHER(100)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.VideoFileFormat.</span><span class="interface-name">SEQ</span></td><td width=15%><span class="source-code">        SEQ(3)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.camera.SettingsDefinitions.VideoFileFormat.</span><span class="interface-name">TIFF_SEQ</span></td><td width=15%><span class="source-code">        TIFF_SEQ(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getDisplayMode</span></td><td width=15%><span class="source-code">void getDisplayMode(@NonNull final CompletionCallbackWith&lt;SettingsDefinitions.DisplayMode&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getDualFeedHorizontalAlignmentOffset</span></td><td width=15%><span class="source-code">void getDualFeedHorizontalAlignmentOffset(@NonNull final CompletionCallbackWith&lt;Integer&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getDualFeedVerticalAlignmentOffset</span></td><td width=15%><span class="source-code">void getDualFeedVerticalAlignmentOffset(@NonNull final CompletionCallbackWith&lt;Integer&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getMSXLevel</span></td><td width=15%><span class="source-code">void getMSXLevel(@NonNull final CompletionCallbackWith&lt;Integer&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getPIPPosition</span></td><td width=15%><span class="source-code">void getPIPPosition(@NonNull final CompletionCallbackWith&lt;SettingsDefinitions.PIPPosition&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getThermalTemperatureUnit</span></td><td width=15%><span class="source-code">void getThermalTemperatureUnit(final CompletionCallbackWith&lt;SettingsDefinitions.TemperatureUnit&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setDisplayMode</span></td><td width=15%><span class="source-code">void setDisplayMode(final SettingsDefinitions.DisplayMode mode, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setDualFeedHorizontalAlignmentOffset</span></td><td width=15%><span class="source-code">void setDualFeedHorizontalAlignmentOffset(@IntRange(from = -100, to = 100) int offset, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setDualFeedVerticalAlignmentOffset</span></td><td width=15%><span class="source-code">void setDualFeedVerticalAlignmentOffset(@IntRange(from = -8, to = 8) int offset, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setMSXLevel</span></td><td width=15%><span class="source-code">void setMSXLevel(@IntRange(from = 0, to = 100) int level, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setPIPPosition</span></td><td width=15%><span class="source-code">void setPIPPosition(final SettingsDefinitions.PIPPosition position, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setThermalTemperatureUnit</span></td><td width=15%><span class="source-code">void setThermalTemperatureUnit(final SettingsDefinitions.TemperatureUnit unit, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">getAutoLockGimbalEnabled</span></td><td width=15%><span class="source-code">void getAutoLockGimbalEnabled(@NonNull final CompletionCallbackWith&lt;Boolean&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.Camera.</span><span class="interface-name">setAutoLockGimbalEnabled</span></td><td width=15%><span class="source-code">void setAutoLockGimbalEnabled(final boolean enabled, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.</span><span class="interface-name">DataProtectionManager</span></td><td width=15%><span class="source-code">class DataProtectionManager </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionManager.</span><span class="interface-name">authorizeAccessToDJIDeviceHardwareInfo</span></td><td width=15%><span class="source-code">@Nullable
    DJIError authorizeAccessToDJIDeviceHardwareInfo(boolean hardwareInfoAuthorized) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionManager.</span><span class="interface-name">getInstance</span></td><td width=15%><span class="source-code">static DataProtectionManager getInstance() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionManager.</span><span class="interface-name">isAccessToDJIDeviceHardwareInfoAuthorized</span></td><td width=15%><span class="source-code">boolean isAccessToDJIDeviceHardwareInfoAuthorized() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionManager.</span><span class="interface-name">isAccessToObfuscatedLocationAuthorized</span></td><td width=15%><span class="source-code">boolean isAccessToObfuscatedLocationAuthorized() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.</span><span class="interface-name">DataProtectionError</span></td><td width=15%><span class="source-code">class DataProtectionError extends DJIError </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionError.</span><span class="interface-name">CANNOT_ADD_AUTHORIZATION</span></td><td width=15%><span class="source-code">static final DataProtectionError CANNOT_ADD_AUTHORIZATION =
        new DataProtectionError("Cannot authorize this type data.")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionError.</span><span class="interface-name">CANNOT_REMOVE_AUTHORIZATION</span></td><td width=15%><span class="source-code">static final DataProtectionError CANNOT_REMOVE_AUTHORIZATION =
        new DataProtectionError("Cannot remove authorization for this type data.")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionError.</span><span class="interface-name">NOT_ENOUGH_AUTHORIZATION</span></td><td width=15%><span class="source-code">static final DataProtectionError NOT_ENOUGH_AUTHORIZATION =
        new DataProtectionError("Do not have enough authorization to access data.")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.dataprotection.DataProtectionError.</span><span class="interface-name">NO_HARDWARE_INFO_AUTHORIZATION</span></td><td width=15%><span class="source-code">static final DataProtectionError NO_HARDWARE_INFO_AUTHORIZATION =
        new DataProtectionError("Do not have authorization for hardware information .")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.flightcontroller.BatteryThresholdBehavior.</span><span class="interface-name">UNKNOWN</span></td><td width=15%><span class="source-code">    UNKNOWN(0xff)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.flightcontroller.FlightController.</span><span class="interface-name">getCompassCount</span></td><td width=15%><span class="source-code">int getCompassCount()</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.GimbalAttitudeAction.</span><span class="interface-name">setGimbalIndex</span></td><td width=15%><span class="source-code">void setGimbalIndex(int index) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.gimbal.Gimbal.</span><span class="interface-name">getYawSimultaneousFollowEnabled</span></td><td width=15%><span class="source-code">void getYawSimultaneousFollowEnabled(@NonNull final CompletionCallbackWith&lt;Boolean&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.gimbal.Gimbal.</span><span class="interface-name">setYawSimultaneousFollowEnabled</span></td><td width=15%><span class="source-code">void setYawSimultaneousFollowEnabled(boolean isEnabled, @Nullable final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.MediaFile.MediaType.</span><span class="interface-name">TIFF_SEQ</span></td><td width=15%><span class="source-code">        TIFF_SEQ(9, "tiff.seq")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.camera.MediaFile.MediaType.</span><span class="interface-name">SEQ</span></td><td width=15%><span class="source-code">        SEQ(8, "seq")</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.airlink.</span><span class="interface-name">OcuSyncFrequencyBand</span></td><td width=15%><span class="source-code">enum OcuSyncFrequencyBand </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.airlink.OcuSyncFrequencyBand.</span><span class="interface-name">FREQUENCY_BAND_2_DOT_4_GHZ</span></td><td width=15%><span class="source-code">    FREQUENCY_BAND_2_DOT_4_GHZ(1)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.airlink.OcuSyncFrequencyBand.</span><span class="interface-name">FREQUENCY_BAND_5_DOT_8_GHZ</span></td><td width=15%><span class="source-code">    FREQUENCY_BAND_5_DOT_8_GHZ(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.airlink.OcuSyncFrequencyBand.</span><span class="interface-name">FREQUENCY_BAND_DUAL</span></td><td width=15%><span class="source-code">    FREQUENCY_BAND_DUAL(0)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.airlink.OcuSyncFrequencyBand.</span><span class="interface-name">UNKNOWN</span></td><td width=15%><span class="source-code">    UNKNOWN(255)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.OcuSyncLink.</span><span class="interface-name">getFrequencyBand</span></td><td width=15%><span class="source-code">void getFrequencyBand(final CompletionCallbackWith&lt;OcuSyncFrequencyBand&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.OcuSyncLink.</span><span class="interface-name">getSupportedFrequencyBands</span></td><td width=15%><span class="source-code">void getSupportedFrequencyBands(final CompletionCallbackWith&lt;OcuSyncFrequencyBand[]&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.OcuSyncLink.</span><span class="interface-name">setFrequencyBand</span></td><td width=15%><span class="source-code">void setFrequencyBand(OcuSyncFrequencyBand frequencyBand, final CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.</span><span class="interface-name">Payload</span></td><td width=15%><span class="source-code">class Payload extends BaseComponent </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.keysdk.</span><span class="interface-name">PayloadKey</span></td><td width=15%><span class="source-code">class PayloadKey extends DJIKey </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">CommandDataCallback</span></td><td width=15%><span class="source-code">interface CommandDataCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">onGetCommandData</span></td><td width=15%><span class="source-code">        void onGetCommandData(byte[] data)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">onGetMessage</span></td><td width=15%><span class="source-code">        void onGetMessage(String str)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">onGetStreamData</span></td><td width=15%><span class="source-code">        void onGetStreamData(byte[] data, int len)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">onWidgetValueChanged</span></td><td width=15%><span class="source-code">        void onWidgetValueChanged(PayloadWidget.PayloadWidgetType type, int index, int newValue)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">HintMessageCallback</span></td><td width=15%><span class="source-code">interface HintMessageCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.</span><span class="interface-name">PayloadWidget</span></td><td width=15%><span class="source-code">class PayloadWidget </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">PayloadWidget</span></td><td width=15%><span class="source-code">PayloadWidget(PayloadWidgetType widgetType, int widgetIndex, int widgetValue, String name) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">PayloadWidget</span></td><td width=15%><span class="source-code">PayloadWidget(PayloadWidgetType widgetType,
                         int widgetIndex,
                         int widgetValue,
                         String name,
                         String hintMsg,
                         List&lt;String&gt; subItems) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">PayloadWidget</span></td><td width=15%><span class="source-code">PayloadWidget(PayloadWidgetType widgetType, int widgetIndex, int widgetValue, String name, String hintMsg) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">PayloadWidget</span></td><td width=15%><span class="source-code">PayloadWidget(PayloadWidgetType widgetType, int widgetIndex, int widgetValue, String name, List&lt;String&gt; subItems) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">PayloadWidgetType</span></td><td width=15%><span class="source-code">enum PayloadWidgetType </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">BUTTON</span></td><td width=15%><span class="source-code">        BUTTON(1)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">INPUT</span></td><td width=15%><span class="source-code">        INPUT(5)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">LIST</span></td><td width=15%><span class="source-code">        LIST(4)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">UNKNOWN</span></td><td width=15%><span class="source-code">        UNKNOWN(0)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">RANGE</span></td><td width=15%><span class="source-code">        RANGE(3)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.PayloadWidgetType.</span><span class="interface-name">SWITCH</span></td><td width=15%><span class="source-code">        SWITCH(2)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getHintMsg</span></td><td width=15%><span class="source-code">String getHintMsg() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getSubItems</span></td><td width=15%><span class="source-code">List&lt;String&gt; getSubItems() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getWidgetIndex</span></td><td width=15%><span class="source-code">int getWidgetIndex() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getName</span></td><td width=15%><span class="source-code">String getName() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getWidgetType</span></td><td width=15%><span class="source-code">PayloadWidgetType getWidgetType() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.common.payload.PayloadWidget.</span><span class="interface-name">getWidgetValue</span></td><td width=15%><span class="source-code">int getWidgetValue() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">StreamDataCallback</span></td><td width=15%><span class="source-code">interface StreamDataCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">WidgetValueChangedCallback</span></td><td width=15%><span class="source-code">interface WidgetValueChangedCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">addWidgetValueChangedCallback</span></td><td width=15%><span class="source-code">void addWidgetValueChangedCallback(int index, PayloadWidget.PayloadWidgetType type,WidgetValueChangedCallback callback ) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">configureWidgetValue</span></td><td width=15%><span class="source-code">void configureWidgetValue(int index, PayloadWidget.PayloadWidgetType type, int value, CommonCallbacks.CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">getPayloadProductName</span></td><td width=15%><span class="source-code">String getPayloadProductName() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">getUpstreamBandwidth</span></td><td width=15%><span class="source-code">void getUpstreamBandwidth(final CommonCallbacks.CompletionCallbackWith&lt;Float&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">getWidget</span></td><td width=15%><span class="source-code">PayloadWidget getWidget(int widgetIndex, PayloadWidget.PayloadWidgetType widgetType) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">getWidgets</span></td><td width=15%><span class="source-code">PayloadWidget[] getWidgets() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">removeWidgetValueChangedCallback</span></td><td width=15%><span class="source-code">void removeWidgetValueChangedCallback(WidgetValueChangedCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">removeWidgetValueChangedCallback</span></td><td width=15%><span class="source-code">void removeWidgetValueChangedCallback(int index, PayloadWidget.PayloadWidgetType type, WidgetValueChangedCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">sendDataToPayload</span></td><td width=15%><span class="source-code">void sendDataToPayload(byte[] data, CommonCallbacks.CompletionCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">setCommandDataCallback</span></td><td width=15%><span class="source-code">void setCommandDataCallback(CommandDataCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">setMessageCallback</span></td><td width=15%><span class="source-code">void setMessageCallback(HintMessageCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.payload.Payload.</span><span class="interface-name">setStreamDataCallback</span></td><td width=15%><span class="source-code">void setStreamDataCallback(StreamDataCallback callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">newStartRecordVideoAction</span></td><td width=15%><span class="source-code">static RecordVideoAction newStartRecordVideoAction() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">newStopRecordVideoAction</span></td><td width=15%><span class="source-code">static RecordVideoAction newStopRecordVideoAction() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.RecordVideoAction.</span><span class="interface-name">setCameraIndex</span></td><td width=15%><span class="source-code">void setCameraIndex(int index) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.remotecontroller.RemoteController.</span><span class="interface-name">MasterSearchingCallback</span></td><td width=15%><span class="source-code">interface MasterSearchingCallback </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.remotecontroller.RemoteController.</span><span class="interface-name">onMasterListUpdate</span></td><td width=15%><span class="source-code">        void onMasterListUpdate(@NonNull Information[] informationList)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.remotecontroller.RemoteController.</span><span class="interface-name">onResult</span></td><td width=15%><span class="source-code">        void onResult(@Nullable DJIError error)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.sdkmanager.DJISDKManager.</span><span class="interface-name">onComponentChange</span></td><td width=15%><span class="source-code">        void onComponentChange(BaseProduct.ComponentKey key, BaseComponent oldComponent, BaseComponent newComponent)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.sdkmanager.DJISDKManager.</span><span class="interface-name">onProductConnect</span></td><td width=15%><span class="source-code">        void onProductConnect(BaseProduct product)</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.sdkmanager.DJISDKManager.</span><span class="interface-name">onProductDisconnect</span></td><td width=15%><span class="source-code">        void onProductDisconnect()</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">newStopIntervalPhotoAction</span></td><td width=15%><span class="source-code">static ShootPhotoAction newStopIntervalPhotoAction() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.timeline.actions.ShootPhotoAction.</span><span class="interface-name">setCameraIndex</span></td><td width=15%><span class="source-code">void setCameraIndex(int index) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.mission.tapfly.TapFlyMissionOperator.</span><span class="interface-name">getTapFlyMode</span></td><td width=15%><span class="source-code">TapFlyMode getTapFlyMode() </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.WiFiLink.</span><span class="interface-name">getSelectionMode</span></td><td width=15%><span class="source-code">void getSelectionMode(final CompletionCallbackWith&lt;WiFiSelectionMode&gt; callback) </span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">dji.sdk.airlink.WiFiLink.</span><span class="interface-name">setSelectionMode</span></td><td width=15%><span class="source-code">void setSelectionMode(WiFiSelectionMode mode, final CompletionCallback callback) </span></td></tr></table><p style="font-size:50%; color:white">5d1a15d f72c0f6 d3690f7 e11385b </p></body>
</html>

